Laws of Software Evolution and Their Empirical Support

نویسنده

  • Juan Fernández-Ramil
چکیده

Empirical support for the laws of software evolution cannot be rigorously tested as long as they are stated in natural language [1, 2]. Let’s consider the laws that directly relate to measurable phenomena (law 1 to 7) the eighth law “feedback system” is for the moment excluded of this discussion. Let’s assume that sufficient empirical data is available. One approach that has been used to assess the empirical support for the first seven laws uses quantitative models that are consistent with the laws. One fits such models to the empirical data and assesses the magnitude of the residuals. If these are small, the law will be supported by the data. If not, the law will remain unsupported. To illustrate this approach, let’s consider the 6th law “continuing growth”, which states that “the functional capability of E-type systems must be continually increased to maintain user satisfaction over the system lifetime”. Possible formal models of the law include the following: S(i) = a.i+b Eq. 1 S(i) = S(i-1)+e/[S(i-1)] Eq. 2 S(t) = t Eq. 3 where S represents the size of a system measured, for example, in number of modules, t is the age of the system, and i is the release sequence number. a, b, g, and e are parameters suitably chosen to minimise the fitting error. Eqs. 1-3 provide models of system growth. In fact, Eq. 1 replicates the linear growth pattern of OS 360 (rsn 1-19). Eqs. 2 and 3 replicate within segments the growth of systems studied in FEAST [3, 4]. However, Eqs. 1-3 imply additional detail than that in the statement of the 6 law. Each model prescribes a particular type of growth trajectory. The law prescribes none. For this reason none of the models in isolation will be sufficient if used with the sole purpose of testing the 6th law. Data suggesting a trajectory, different than that of Eqs. 1-3, as for example in [5], is still supportive of the law. Models such as those of Eqs. 1-3 in isolation are not proper tests. A workaround to this problem uses a formalism that considers the phenomenon at a higher level of abstraction than that implied by conventional quantitative modelling, such as qualitative differential equations (QDE) [6]. For example, the 6th law can be expressed in QDE form as: dS/dt = M(t) Eq. 4 M represents any monotonically increasing function. A simple test based on Eq. 4 evaluates S(t) – S(t-1) over the whole data set and checks whether they are greater than zero. If so, the data supports the law. Since a superimposed ripple have been observed in growth patterns [1], data smoothing techniques may have to be applied before the test. However, the fuller potential of the qualitative simulation techniques becomes apparent if one considers that the laws are interrelated. The combined action of the forces implied by the laws may lead to more complex behaviours than monotonic increase or decrease. In order to address this, one can write several QDEs formalising several “measurable” laws. The resulting system of QDEs can be simulated [6, 7] and the outputs compared with that implied by empirical observations. This qualitative simulation approach accounts in a natural way for the fact that the laws are interrelated. Eq. 2 and 3 illustrate interrelationship to some extent. They imply positive but decreasing growth rate and in doing so are consistent with both the 2nd law “increasing complexity” and the 6th law. In applying the conventional quantitative approach, one requires the ingenuity of the model builders for identification of models that acknowledge more than one law. This is not simple. The use of qualitative simulation techniques, a topic for further research [7], are likely to facilitate assessment of joint support in a systematic way and at a higher level of abstraction. The eighth law has been justified based on several observations [1, 2]. Unfortunately, a direct rigorous test of its empirical support is difficult to achieve since the behaviours of even simple feedback systems have not been fully codified [8]. The first seven laws can be rationalised in terms of feedback loop structures in the total E-type evolution process [2]. Hence, positive support to any of the first seven laws provides a degree of support to the eighth law.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Qualitative Simulation of Software Evolution Processes

Lehman's studies identified the software evolution phenomenon and led to a set of statements termed laws of software evolution [Leh85,Som92,Mdh02]. The term laws was used to highlight that they reflect forces largely independent of the technology used and outside the immediate control of the those implementing the evolution of a system. Over the years the laws have been the basis of a number of...

متن کامل

Empirical Studies of Open Source Evolution

This chapter surveys a sample of empirical studies of Open Source Software (OSS) evolution. According to these, the classical findings in proprietary software evolution, such as Lehman’s laws of software evolution, might need to be revised, at least in part, to account for the OSS observations. The book chapter summarises what appears to be the empirical status of each of Lehman’s laws with res...

متن کامل

Qualitative Analysis and Simulation of Open Source Software Evolution

Background and motivation In previous work [Ramil & Smith 2002; Smith & Ramil 2003] we applied qualitative simulation methods to model the evolutionary trends of a set of five commercial software systems. In that study, we concluded that qualitative simulation and qualitative abstraction were useful tools for breaching the gap between empirical generalisations in natural language, such as Lehma...

متن کامل

Banded vegetation in some Australian semi-arid landscapes: 20 years of field observations to support the development and evaluation of numerical models of vegetation pattern evolution

     Periodic vegetation patterns (PVPs) are striking features of many global drylands. Although they have attracted wide research study, resulting in many hypotheses, their origin and controlling factors remain unresolved. Theoretical works dominate a large literature seeking to account for the occurrence and properties of PVPs, especially banded vegetation patterns (‘tiger bush’). In light of...

متن کامل

Implications of Software Measurement to Lehman's Eight Laws

Software systems change dramatically as they go through their various stages of development. From the first build of each such system to the last build the differences may be so great as to obscure the fact that it is still the same system. Developers commonly make this mistake when they talk about the system that they are developing. It might be referred to as the "File Management System" or w...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2002